/**
* @namespace
* namespace - All code items related to security.
* @Depends ksg.base.js
* @meta-type namespace
*/
ksg.security = {
	/**
	* @namespace
	* Always present, even if the user has not authenticated, provides access to details about
	* the current user such as preferences and privileges.
	* @meta-type static class
	*/
	currentUser: {
		settings: {}
	},
	
	/**
	* @class
	* The privilege level for a given security app function.
	* @type Enum
	*/
	Privileges: {
		/** The user has not been assigned a privilege level for the given security app function. */
		NotSet: -1,
		/** The user has no access to the item in any way. */
		None: 0,
		/** The security is derived from the context. Not typically used in JavaScript environment. */
		Derived: 1,
		/** The user can execute the item, but cannot view or edit the data associated with it. Not typically used in  JavaScript environment. */
		Execute: 2,
		/** The user can view items, but not edit, add or delete them. */
		ReadOnly: 3,
		/** The user can add new items, but cannot edit or delete items. */
		AddOnly: 4,
		/** The user can edit items, but cannot add or delete items. */
		EditOnly: 5,
		/** The user can add new items, and can edit items they added, but cannot add other items or delete items. */
		Edit: 6,
		/**  The user can add, edit and view items, but cannot delete them. */
		Add: 7,
		/** The user can delete, add, edit, and view items. */
		Delete: 8
	}
};

